The present invention relates to a sensor polling unit for microprocessor integration. The sensor polling unit is configured to address and read the respective data contents of respective data registers of a plurality of external sensor devices. The sensor polling unit has several useful properties in a microprocessor, inter alia off-loading a microprocessor or DSP core of the microprocessor from the details of reading, extracting and otherwise handling the respective register data delivered by the plurality of external sensor devices. The microprocessor and plurality of external sensor devices may be mounted in a piece of portable communication equipment such as tablet, smartphone, mobile phone etc. These external sensor devices may for example comprise digital microphones, multi-axis accelerometers, gyroscopes, GPS units etc. acquiring different types of real time register data associated with the sensor device that must be manipulated or processed by the microprocessor to provide various kinds of functionality in the piece of portable communication equipment. Existing microprocessors are often adapted to handle the associated external sensor devices by manually polling each of the sensors for new register data by software routines triggered by appropriately configured timers of the microprocessor. After the register data have been read into the microprocessor through a suitable data communication interface, the register data must be written to a suitable data memory area or location. In the alternative, existing microprocessors may include a Direct Memory Access (DMA) controller adapted to poll the external sensor devices and read the register data in bursts at time intervals set by the timer or timers.
Unfortunately, these prior art methods of reading and storing the register data delivered by the external sensor devices do not fit how sensors acquire and store their sensor data in internal sensor registers very well. A DMA controller is optimized for burst reading of large consecutively arranged data amounts or chunks from memory devices such as external EEPROM or flash memory. Sensor registers on the other hand, may be relatively few in number, vary in size and have non-consecutive addresses. A microprocessor is generally not well-suited for reading sensor data from multiple sensor devices because this type of data reading requires not only frequent interrupt handling, but also manual detection of which of the multiple sensor devices that actually generated particular set of incoming sensor data. This problem is growing because contemporary and future sensor devices can be expected to require higher sampling rates driven by associated benefits in latency (delay) reduction in the implemented function. In addition, a growing number of sensor devices can be expected to be integrated in future electronic equipment to provide new sensor based features and functions or simply to improve the perceived quality of existing sensor based features and functions.
U.S. Pat. No. 8,024,499 B1 discloses a system control module comprising a system control processor connected to a sensor polling logic/unit for automated polling of sensor data from multiple sensors. The sensors are mounted on separate target or circuit boards which may be line cards, Ethernet cards, ATM cards etc. The sensors include voltage sensors and temperature sensors. The sensor polling logic/unit comprises a transaction table which includes an address for each sensor and other associated fields of information such as a polling rate for each sensor.
U.S. Pat. No. 4,593,362 discloses an apparatus for polling asynchronous sensors of a distributed computer system to optimize the data load offered by the sensors to a central processor. The polling apparatus operates in accordance with time delay status recorded in the sensor buffer stores of the memory unit of the central processor. The system determines the amount of data received in a sensor buffer store during the polling sequence and dynamically varies the value of the time delay status to optimize the load of sensor data imparted upon the central processor. The type of the data collected and delivered by the sensors from their associated telephone switching units remains unspecified.
U.S. Pat. No. 6,924,746 B2 discloses a sensor polling unit operating in an industrial automation equipment environment between a host computer and multiple optical range sensors. The sensor generated data are related to respective positions and dimensions of manufactured pieces of goods throughout the manufacturing site.